package com.baitai.system.service;

import java.util.List;

import com.baitai.common.core.domain.AjaxResult;
import com.baitai.system.domain.ProductInfo;
import com.baitai.system.domain.vo.PrizeProductInfo;
import com.baitai.system.domain.vo.ProductInfoVo;

/**
 * 商品详情Service接口
 * 
 * @author xx
 * @date 2024-07-17
 */
public interface IProductInfoService 
{
    /**
     * 查询商品详情
     * 
     * @param id 商品详情主键
     * @return 商品详情
     */
    public ProductInfo selectProductInfoById(Long id);

    /**
     * 查询商品详情列表
     * 
     * @param productInfo 商品详情
     * @return 商品详情集合
     */
    public List<ProductInfo> selectProductInfoList(ProductInfo productInfo);
    public List<ProductInfo> appList(ProductInfo productInfo);

    /**
     * 新增商品详情
     * 
     * @param productInfo 商品详情
     * @return 结果
     */
    public int insertProductInfo(ProductInfo productInfo);

    /**
     * 修改商品详情
     * 
     * @param productInfo 商品详情
     * @return 结果
     */
    public int updateProductInfo(ProductInfo productInfo);

    /**
     * 批量删除商品详情
     * 
     * @param ids 需要删除的商品详情主键集合
     * @return 结果
     */
    public int deleteProductInfoByIds(Long[] ids);

    /**
     * 删除商品详情信息
     * 
     * @param id 商品详情主键
     * @return 结果
     */
    public int deleteProductInfoById(Long id);

    String conversionProduct(Long userId, ProductInfoVo productInfoId);

    List<PrizeProductInfo> prizeDrawProductList(Long id);

    AjaxResult purchaseProduct(Long userId, ProductInfoVo productInfo);
}
